﻿using System;
using System.Collections.Generic;
using System.Reflection;
using Myotragus.Data.Domain;

namespace Myotragus.Data.Metadata
{
	public interface ILocalizableEntityDescriptor<TEntity> : IEntityDescriptor<TEntity>
		where TEntity : IEntity
	{
		IEnumerable<string> LocalizableProperties { get; }

		IDictionary<string, PropertyInfo> LoadEntityProperties { get; }

		IDictionary<string, PropertyInfo> SaveEntityProperties { get; }

		Type SaveEntityImplementation { get; }

		Type LoadEntityImplementation { get; }
	}
}